//package com.cx.mall.api.impl;
//
//import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
//import com.cx.mall.api.goods.ProductFeign;
//import com.cx.mall.common.model.goods.Product;
//import com.cx.mall.common.model.goods.SkuInfo;
//import com.cx.mall.common.utils.ResponseVO;
//import feign.FeignException;
//import feign.RetryableException;
//import org.springframework.stereotype.Service;
//
//import java.util.List;
//
//@Service
//public class ProductFeignImpl implements ProductFeign {
//    @Override
//    public ResponseVO page(Product product) {
//        SkuInfo skuInfo = new SkuInfo();
//        skuInfo.setId(0L);
//        skuInfo.setSkuName("未知商品");
//        skuInfo.setNum(0);
//        Page page = new Page();
//        page.setRecords(List.of(skuInfo));
//        return ResponseVO.success(skuInfo);
//    }
//
//    @Override
//    public ResponseVO getById(Long id) {
//        return null;
//    }
//
//    public ProductFeign create(Throwable cause) {
//        return new ProductFeign() {
//            @Override
//            public ResponseVO page(Product product) {
//                SkuInfo skuInfo = new SkuInfo();
//                skuInfo.setId(0L);
//                // 如果服务停止，返回服务不可用，如果超时，返回连接超时
//                if(cause instanceof FeignException.ServiceUnavailable){
//                    skuInfo.setSkuName("未知商品");
//                }else if(cause instanceof RetryableException){
//                    skuInfo.setSkuName("未知商品");
//                }
//                return ResponseVO.success(skuInfo);
//            }
//
//            @Override
//            public ResponseVO getById(Long id) {
//                return null;
//            }
//        };
//    }
//
//
//}
